import librosa
import librosa.display
import matplotlib.pyplot as plt

# 加载WAV文件
y, sr = librosa.load('./train_1s/10/1.wav')

# 计算短时傅里叶变换(STFT)
D = librosa.stft(y)

# 将STFT的振幅转换为分贝
D_db = librosa.amplitude_to_db(abs(D))

# 绘制频谱图
plt.figure(figsize=(10, 6))
librosa.display.specshow(D_db, sr=sr, x_axis='time', y_axis='hz')
plt.colorbar(format='%+2.0f dB')
plt.title('Spectrogram')
plt.show()
